package cn.cutie.clot.gateway.plugin;

import org.springframework.web.server.ServerWebExchange;
import reactor.core.publisher.Mono;

/**
 * @Description:
 * @Author: Cutie
 * @CreateDate: 2024/6/5 00:39
 * @Version: 0.0.1
 */
public interface GatewayPlugin {
    String GATEWAY_PREFIX = "/gw";

    void start();
    void stop();
    String getName();
    boolean support(ServerWebExchange exchange);

    Mono<Void> handle(ServerWebExchange exchange, GatewayPluginChain chain);
}
